package cn.good.yan.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;

/**
 * emp 实体
 * @TableName emp
 */
// oracle 数据库中，没有主键自增
// @KeySequence(value = "序列的名字",clazz=Integer.class)
@ToString
@Data
@TableName(value ="emp")
public class Emp implements Serializable {

    // 表示不是数据库里的字段
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     *    @TableId  ：这种默认，主键id是雪花算法
     *    @TableId(value = "id",type = IdType.AUTO)  数据库ID自增
     *    type类型：- AUTO	数据库ID自增
     *               NONE	无状态
     *               INPUT	insert前自行set主键值
     *               ASSIGN_ID	雪花算法生产id
     *               ASSIGN_UUID	UUID
     *               ID_WORKER	分布式全局唯一ID，长整型类型，32位UUID字符串
     *               ID_WORKER_STR	分布式全局唯一ID 字符串类型
     */
    @TableId(value = "id",type = IdType.AUTO)
    // 正常，如果 主键id，跟实体一样，可省略value部分， @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 名称
     */
    private String name;

    /**
     * 年龄
     */
    private Integer age;

    /**
     *  关键字段
     */
    private Integer did;

    public Emp(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    public Emp() {
    }

}
